package de.hdu.tennis.dao;

import java.util.List;

import org.springframework.orm.hibernate3.HibernateTemplate;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;

import de.hdu.tennis.model.Bewertung;
import de.hdu.tennis.model.Tennisplatz;


/**
 * Data Access Object for Bewertung
 * @author Lilli Kardapolzew, Katharina Weber, Carolina Hirtreiter
 */

public class BewertungDao extends HibernateDaoSupport {
	
	
	/**
	 * Insert/Update a Bewertung into database 
	 * @param bewertung is the Object which will be saved into database
	 * @return the object specified by the parameter
	 */
	public Bewertung save(Bewertung bewertung, Integer t_pk) {
		HibernateTemplate template = getHibernateTemplate();
		Tennisplatz t = (Tennisplatz) template.get(Tennisplatz.class, t_pk);
		bewertung.setTennisplatz(t);
		template.saveOrUpdate(bewertung);
		return bewertung;
	}
	
	/**
	 * Returns a Bewertung by primary key: id 
	 * @param id the primary key of a {@link Bewertung}
	 * @return one Bewertung
	 */
	public Bewertung findById(int id) {
		HibernateTemplate template = getHibernateTemplate();
		return (Bewertung) template.get(Bewertung.class, id);	
	}
	/**
	 * Returns all Bewertung 
	 * @return a list of Bewertung
	 */
	public List<Bewertung> findAll() {
		HibernateTemplate template = getHibernateTemplate();
		return template.loadAll(Bewertung.class);
	}
	
}
